
/*
#    dir.h
#    SCHIPS
#    schips@dingtalk.com
#    https://gitee.com/schips/
#    Thu, Jun 13, 2019  2:34:19 PM
*/

#ifndef DIR_API_H_
#define DIR_API_H_
const static int OK = 0;
const static int ERR = -1;

// linux下C语言创建多级目录 
int create_dirs(const char *sPathName, unsigned int mode);
int remove_dir(const char *dir);

// 取上级目录
int get_previous_pathname(char *fileNameWithPath, char *outputPathName);

// 目录拷贝（仅考虑内容，对创建时间等不做处理）
int file_copy(char *path_r,char *path_w);
// 基于路径的拷贝
int copy_path(char *source_path,char *destination_path);
// 将一个路径拆分成 文件/目录 部分 + 所在路径 2个部分；
int spit_pathname_to_file_and_dir(const char * pathname, char * filename_out, char * pathname_out);

static inline int is_dir(char* path)
{
	//判断是否是目录
	struct stat st;
	stat(path,&st);
	if(S_ISDIR(st.st_mode))
	{
		return 1;
	}
	else
	{
		return 0;
	}
}

/*字符串处理函数*/
static inline int endwith(char* s,char c)
{
	//用于判断字符串结尾是否为: #c
	if(s[strlen(s)-1]==c)
	{
		return 1;
	}
	else
	{
		return 0;
	}
}


int copy_path_to(char * path_src, char *path_des);
#endif /* ifndef DIR_API_H_ */
